
package rcpsp;

import data.Data;
import ilog.concert.IloException;
import ilog.cplex.IloCplex;
import java.util.ArrayList;

// Abstract class representing a model
public abstract class Model {
    protected IloCplex cplex;
    protected Data data;
    protected Solution result;
    
    protected Model(IloCplex cplex, Data data){
        this.cplex = cplex;
        this.data = data;
        this.result = new Solution(new ArrayList<Integer>(), 0, 0);
    }
    
    abstract public void createModel() throws IloException;
    abstract public long solve() throws IloException;
    abstract public Solution getResult();
}
